#pragma once

#include <queue>
#include <vector>
#include "card.h"
#include "player.h"

class Hand {
public:
    explicit Hand(std::vector<Player>  players);
    explicit Hand(std::vector<Player>&& players);
    const std::vector<Player>& getPlayers() const;

    void reDeck();
    void start();
private:
    std::vector<Card> cards;
    std::queue<Card*> deck;
    std::queue<Card*> deckWaste;
    std::vector<Player> players;
    Player* currentPlayer;
    Card* currentCard;
    void init();
};
